package command;

import moteur.Impl_Moteur;
import enregistrement.Enregistrable;
import enregistrement.Enregistreur;
import enregistrement.Impl_Memento;
import enregistrement.Memento;

/***********************************************************************
 * Module: Couper.java Author: 12008505 Purpose: Defines the Class Couper
 ***********************************************************************/

public class Couper implements Command, Enregistrable {
	public Impl_Moteur moteur;

	public Enregistreur enregistreur;

	public Couper(Impl_Moteur moteur, Enregistreur enregistreur) {
		this.moteur = moteur;
		this.enregistreur = enregistreur;
	}

	public void execute() {

		boolean etatE = enregistreur.getEtat();
		if (etatE == true) {
			enregistreur.ajouterCommand(creerMemento());
		}

		moteur.couper();

		// System.out.println("presse papier :" + moteur.getPp().getContenu());
		// System.out.println("le buffer :"
		// + moteur.getBuffer().getZoneDeTravail());
		// System.out.println("la selection position :"
		// + moteur.getSelection().getDebut());
		// System.out.println("la selection position :"
		// + moteur.getSelection().getFin());

	}

	@Override
	public void setMemento(Memento m) {

	}

	@Override
	public Memento creerMemento() {
		return new Impl_Memento(moteur, this);
	}

}